Use standard cursor names
authorMatthias Clasen <mclasen@redhat.com>
Sun, 10 May 2015 02:50:02 +0000 (22:50 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 26 Jul 2015 05:45:06 +0000 (01:45 -0400)
This changes GTK+ to use gdk_cursor_new_from_name() with the
'standard' css names, instead of GdkCursorType.

https://bugzilla.gnome.org/show_bug.cgi?id=652085

15 files changed:
demos/gtk-demo/changedisplay.c
demos/gtk-demo/hypertext.c
gtk/gtkaboutdialog.c
gtk/gtkcolorplane.c
gtk/gtkentry.c
gtk/gtkfilechooserwidget.c
gtk/gtklabel.c
gtk/gtklinkbutton.c
gtk/gtkpaned.c
gtk/gtkprintunixdialog.c
gtk/gtkrecentchooserdefault.c
gtk/gtktextview.c
gtk/gtktreeviewcolumn.c
gtk/gtkwindow.c
gtk/inspector/inspect-button.c

index 6edcb25a14435b0c52e60ce92a910f090908d1dc..caa3ec696459e9929ed1d3ffcf4713a5c2863e59 100644 (file)
@@ -123,7 +123,7 @@ query_for_toplevel (GdkScreen  *screen,
   gtk_container_add (GTK_CONTAINER (frame), label);
 
   gtk_widget_show_all (popup);
-  cursor = gdk_cursor_new_for_display (display, GDK_CROSSHAIR);
+  cursor = gdk_cursor_new_from_name (display, "crosshair");
 
   if (gdk_device_grab (gtk_get_current_event_device (),
                        gtk_widget_get_window (popup),
index 28d605a273939dcb6003ba0db49b5a3f28d798c2..af4e4179a70245f79ada3e2251d79a294830e682 100644 (file)
@@ -253,9 +253,11 @@ do_hypertext (GtkWidget *do_widget)
       GtkWidget *view;
       GtkWidget *sw;
       GtkTextBuffer *buffer;
+      GdkDisplay *display;
 
-      hand_cursor = gdk_cursor_new_for_display (gtk_widget_get_display (do_widget), GDK_HAND2);
-      regular_cursor = gdk_cursor_new_for_display (gtk_widget_get_display (do_widget), GDK_XTERM);
+      display = gtk_widget_get_display (do_widget);
+      hand_cursor = gdk_cursor_new_from_name (display, "pointer");
+      regular_cursor = gdk_cursor_new_from_name (display, "text");
 
       window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
       gtk_window_set_title (GTK_WINDOW (window), "Hypertext");
index 330a0bff04cc393e9e9be9ed1e8d58441b2e5b37..e7537a4efcaf100eda80ab7b03503db9d9bf621d 100644 (file)
@@ -804,8 +804,8 @@ gtk_about_dialog_realize (GtkWidget *widget)
   GTK_WIDGET_CLASS (gtk_about_dialog_parent_class)->realize (widget);
 
   display = gtk_widget_get_display (widget);
-  priv->hand_cursor = gdk_cursor_new_for_display (display, GDK_HAND2);
-  priv->regular_cursor = gdk_cursor_new_for_display (display, GDK_XTERM);
+  priv->hand_cursor = gdk_cursor_new_from_name (display, "pointer");
+  priv->regular_cursor = gdk_cursor_new_from_name (display, "text");
 }
 
 static void
index be2d46f0dd2f538fb578d12fa2edbbfec8eb9f02..0e374068127dc90e68e423ecdf8a259d8e4191ae 100644 (file)
@@ -196,8 +196,7 @@ set_cross_cursor (GtkWidget *widget,
     return;
 
   if (enabled)
-    cursor = gdk_cursor_new_for_display (gtk_widget_get_display (GTK_WIDGET (widget)),
-                                         GDK_CROSSHAIR);
+    cursor = gdk_cursor_new_from_name (gtk_widget_get_display (GTK_WIDGET (widget)), "crosshair");
 
   gdk_window_set_device_cursor (window, device, cursor);
 
index 9d768c40ccf673aa61c4a125543eb504c80d302a..dbaee71fbc82c02a5a40e52e637f4fa64af84ee4 100644 (file)
@@ -3170,7 +3170,7 @@ update_cursors (GtkWidget *widget)
                (icon_info->nonactivatable && icon_info->target_list == NULL)))
             {
               display = gtk_widget_get_display (widget);
-              cursor = gdk_cursor_new_for_display (display, GDK_XTERM);
+              cursor = gdk_cursor_new_from_name (display, "text");
               gdk_window_set_cursor (icon_info->window, cursor);
               g_object_unref (cursor);
             }
index fa58375eeaba6f61e84542a24bf2d5d9ee92d6e0..978608d3fb945146126821f7c2fc7b24518672be 100644 (file)
@@ -4229,11 +4229,7 @@ set_busy_cursor (GtkFileChooserWidget *impl,
   display = gtk_widget_get_display (widget);
 
   if (busy)
-    {
-      cursor = gdk_cursor_new_from_name (display, "left_ptr_watch");
-      if (cursor == NULL)
-        cursor = gdk_cursor_new_for_display (display, GDK_WATCH);
-    }
+    cursor = gdk_cursor_new_from_name (display, "progress");
   else
     cursor = NULL;
 
index 81e798a030207cc66b892250dce30e9332c29770..4c186b2eb1671e61f32c9f8dc75c59e7e8e409e3 100644 (file)
@@ -4080,9 +4080,9 @@ gtk_label_update_cursor (GtkLabel *label)
           display = gtk_widget_get_display (widget);
 
           if (priv->select_info->active_link)
-            cursor = gdk_cursor_new_for_display (display, GDK_HAND2);
+            cursor = gdk_cursor_new_from_name (display, "pointer");
           else if (priv->select_info->selectable)
-            cursor = gdk_cursor_new_for_display (display, GDK_XTERM);
+            cursor = gdk_cursor_new_from_name (display, "text");
           else
             cursor = NULL;
         }
index 01177f5c70af9665982452d8325eb0c92d782f70..8804e11c9af0da5fe113316557ad1d925fdeafe8 100644 (file)
@@ -298,7 +298,7 @@ set_hand_cursor (GtkWidget *widget,
 
   cursor = NULL;
   if (show_hand)
-    cursor = gdk_cursor_new_for_display (display, GDK_HAND2);
+    cursor = gdk_cursor_new_from_name (display, "pointer");
 
   gdk_window_set_cursor (gtk_widget_get_window (widget), cursor);
   gdk_display_flush (display);
index 80ae69f1d6577145f2d0ffb012e74b3b204fe898..e6d230c15f6d5aaaba4f5f5f5b3d248840509a10 100644 (file)
@@ -109,7 +109,6 @@ struct _GtkPanedPrivate
   GtkWidget      *saved_focus;
   GtkOrientation  orientation;
 
-  GdkCursorType  cursor_type;
   GdkRectangle   handle_pos;
   GdkWindow     *handle;
 
@@ -787,7 +786,6 @@ gtk_paned_init (GtkPaned *paned)
   priv = paned->priv;
 
   priv->orientation = GTK_ORIENTATION_HORIZONTAL;
-  priv->cursor_type = GDK_SB_H_DOUBLE_ARROW;
 
   priv->child1 = NULL;
   priv->child2 = NULL;
@@ -841,17 +839,11 @@ gtk_paned_set_property (GObject        *object,
           _gtk_orientable_set_style_classes (GTK_ORIENTABLE (paned));
 
           if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-            {
-              priv->cursor_type = GDK_SB_H_DOUBLE_ARROW;
-              gtk_gesture_pan_set_orientation (GTK_GESTURE_PAN (priv->pan_gesture),
-                                               GTK_ORIENTATION_HORIZONTAL);
-            }
+            gtk_gesture_pan_set_orientation (GTK_GESTURE_PAN (priv->pan_gesture),
+                                             GTK_ORIENTATION_HORIZONTAL);
           else
-            {
-              priv->cursor_type = GDK_SB_V_DOUBLE_ARROW;
-              gtk_gesture_pan_set_orientation (GTK_GESTURE_PAN (priv->pan_gesture),
-                                               GTK_ORIENTATION_VERTICAL);
-            }
+            gtk_gesture_pan_set_orientation (GTK_GESTURE_PAN (priv->pan_gesture),
+                                             GTK_ORIENTATION_VERTICAL);
 
           /* state_flags_changed updates the cursor */
           gtk_paned_state_flags_changed (GTK_WIDGET (paned), 0);
@@ -1609,8 +1601,9 @@ gtk_paned_realize (GtkWidget *widget)
   attributes_mask = GDK_WA_X | GDK_WA_Y;
   if (gtk_widget_is_sensitive (widget))
     {
-      attributes.cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget),
-                                                     priv->cursor_type);
+      attributes.cursor = gdk_cursor_new_from_name (gtk_widget_get_display (widget),
+                                                   priv->orientation == GTK_ORIENTATION_HORIZONTAL
+                                                    ? "col-resize" : "row-resize");
       attributes_mask |= GDK_WA_CURSOR;
     }
 
@@ -1884,8 +1877,9 @@ gtk_paned_state_flags_changed (GtkWidget     *widget,
   if (gtk_widget_get_realized (widget))
     {
       if (gtk_widget_is_sensitive (widget))
-        cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget),
-                                             priv->cursor_type);
+        cursor = gdk_cursor_new_from_name (gtk_widget_get_display (widget),
+                                           priv->orientation == GTK_ORIENTATION_HORIZONTAL
+                                           ? "col-resize" : "row-resize");
       else
         cursor = NULL;
 
index fe7f6f09c9ff817eb8e014be043917051cde7415..3f7d6eb908eead9355d7d4454e60a1bca70ce8d3 100644 (file)
@@ -584,11 +584,7 @@ set_busy_cursor (GtkPrintUnixDialog *dialog,
   display = gtk_widget_get_display (widget);
 
   if (busy)
-    {
-      cursor = gdk_cursor_new_from_name (display, "left_ptr_watch");
-      if (cursor == NULL)
-        cursor = gdk_cursor_new_for_display (display, GDK_WATCH);
-    }
+    cursor = gdk_cursor_new_from_name (display, "progress");
   else
     cursor = NULL;
 
index e2a5b768bb95eb4f5c2f6e4d3ea2cba2b987f30f..5882dd858aa0dda0593cd5c33722fe12e985d96e 100644 (file)
@@ -697,11 +697,7 @@ set_busy_cursor (GtkRecentChooserDefault *impl,
   display = gtk_widget_get_display (GTK_WIDGET (toplevel));
 
   if (busy)
-    {
-      cursor = gdk_cursor_new_from_name (display, "left_ptr_watch");
-      if (cursor == NULL)
-        cursor = gdk_cursor_new_for_display (display, GDK_WATCH);
-    }
+    cursor = gdk_cursor_new_from_name (display, "progress");
   else
     cursor = NULL;
 
index 0c8dc53fe432a41e5f52a58ff75e178fb6c98056..55c1d0eb1f40627ac1bb32920cb0b9b9a25e370e 100644 (file)
@@ -4488,7 +4488,7 @@ gtk_text_view_state_flags_changed (GtkWidget     *widget,
   if (gtk_widget_get_realized (widget))
     {
       if (gtk_widget_is_sensitive (widget))
-        cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), GDK_XTERM);
+        cursor = gdk_cursor_new_from_name (gtk_widget_get_display (widget), "text");
       else
         cursor = NULL;
 
@@ -4516,7 +4516,7 @@ set_invisible_cursor (GdkWindow *window)
   GdkCursor *cursor;
 
   display = gdk_window_get_display (window);
-  cursor = gdk_cursor_new_for_display (display, GDK_BLANK_CURSOR);
+  cursor = gdk_cursor_new_from_name (display, "none");
  
   gdk_window_set_cursor (window, cursor);
   
@@ -4539,10 +4539,11 @@ gtk_text_view_unobscure_mouse_cursor (GtkTextView *text_view)
 {
   if (text_view->priv->mouse_cursor_obscured)
     {
+      GdkDisplay *display;
       GdkCursor *cursor;
-      
-      cursor = gdk_cursor_new_for_display (gtk_widget_get_display (GTK_WIDGET (text_view)),
-                                          GDK_XTERM);
+
+      display = gtk_widget_get_display (GTK_WIDGET (text_view));
+      cursor = gdk_cursor_new_from_name (display, "text");
       gdk_window_set_cursor (text_view->priv->text_window->bin_window, cursor);
       g_object_unref (cursor);
       text_view->priv->mouse_cursor_obscured = FALSE;
@@ -9433,6 +9434,7 @@ text_window_realize (GtkTextWindow *win,
   GdkWindow *window;
   GdkWindowAttr attributes;
   gint attributes_mask;
+  GdkDisplay *display;
   GdkCursor *cursor;
 
   attributes.window_type = GDK_WINDOW_CHILD;
@@ -9485,12 +9487,11 @@ text_window_realize (GtkTextWindow *win,
     case GTK_TEXT_WINDOW_TEXT:
       if (gtk_widget_is_sensitive (widget))
         {
-          /* I-beam cursor */
-          cursor = gdk_cursor_new_for_display (gdk_window_get_display (window),
-                                               GDK_XTERM);
+          display = gdk_window_get_display (window);
+          cursor = gdk_cursor_new_from_name (display, "text");
           gdk_window_set_cursor (win->bin_window, cursor);
           g_object_unref (cursor);
-        } 
+        }
 
       gtk_im_context_set_client_window (GTK_TEXT_VIEW (widget)->priv->im_context,
                                         win->window);
index d3fb33dce917b3db0c2133d9e4194fbf3505a7c1..f3d50ccc0fb242552b3b0db632fa8336c171b190 100644 (file)
@@ -1342,6 +1342,7 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column)
   GdkWindowAttr attr;
   guint attributes_mask;
   gboolean rtl;
+  GdkDisplay *display;
 
   tree_view = (GtkTreeView *)priv->tree_view;
   rtl       = (gtk_widget_get_direction (priv->tree_view) == GTK_TEXT_DIR_RTL);
@@ -1362,8 +1363,8 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column)
                     GDK_POINTER_MOTION_MASK |
                     GDK_KEY_PRESS_MASK);
   attributes_mask = GDK_WA_CURSOR | GDK_WA_X | GDK_WA_Y;
-  attr.cursor = gdk_cursor_new_for_display 
-    (gdk_window_get_display (_gtk_tree_view_get_header_window (tree_view)), GDK_SB_H_DOUBLE_ARROW);
+  display = gdk_window_get_display (_gtk_tree_view_get_header_window (tree_view));
+  attr.cursor = gdk_cursor_new_from_name (display, "col-resize");
   attr.y = 0;
   attr.width = TREE_VIEW_DRAG_WIDTH;
   attr.height = _gtk_tree_view_get_header_height (tree_view);
index 0b53cd4f6ad647f01d2c334257ebf73f26dd0e0f..dc063e2a541ff22845383981069b2ef1c06078b1 100644 (file)
@@ -7172,15 +7172,10 @@ gtk_window_realize (GtkWidget *widget)
 
   if (priv->client_decorated && priv->type == GTK_WINDOW_TOPLEVEL)
     {
-      GdkCursorType cursor_type[8] = {
-        GDK_TOP_LEFT_CORNER,
-        GDK_TOP_SIDE,
-        GDK_TOP_RIGHT_CORNER,
-        GDK_LEFT_SIDE,
-        GDK_RIGHT_SIDE,
-        GDK_BOTTOM_LEFT_CORNER,
-        GDK_BOTTOM_SIDE,
-        GDK_BOTTOM_RIGHT_CORNER
+      const gchar *cursor[8] = {
+        "nw-resize", "n-resize", "ne-resize",
+        "w-resize",               "e-resize",
+        "sw-resize", "s-resize", "se-resize"
       };
 
       attributes.wclass = GDK_INPUT_ONLY;
@@ -7191,7 +7186,7 @@ gtk_window_realize (GtkWidget *widget)
 
       for (i = 0; i < 8; i++)
         {
-          attributes.cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), cursor_type[i]);
+          attributes.cursor = gdk_cursor_new_from_name (gtk_widget_get_display (widget), cursor[i]);
           priv->border_window[i] = gdk_window_new (gdk_window, &attributes, attributes_mask);
           g_object_unref (attributes.cursor);
 
index 937e006870c3a08d085ef28d136b7ffa1afdb2a2..d9a821b30112cbcf5865b90a005b88b5000e6a08 100644 (file)
@@ -376,7 +376,7 @@ gtk_inspector_on_inspect (GtkWidget          *button,
     }
 
   display = gdk_display_get_default ();
-  cursor = gdk_cursor_new_for_display (display, GDK_CROSSHAIR);
+  cursor = gdk_cursor_new_from_name (display, "crosshair");
   device = gdk_device_manager_get_client_pointer (gdk_display_get_device_manager (display));
   status = gdk_device_grab (device,
                             gtk_widget_get_window (iw->invisible),